const jwt = require('jsonwebtoken')
const whiteList = ['/api/login', '/api/register', '/api/post-test']
module.exports = (options) => {
	return async (ctx, next) => {
		console.log('我是全局中间价')
		console.log('ctx.path------>', ctx.path)
		if (whiteList.includes(ctx.path)) {
			await next()
		} else {
			try {
				// 拿到token。解析token，如果能解析出来，让他往下走
				const { token } = ctx.request.headers
				const userInfo = jwt.verify(token, '1904')
				console.log('userInfo', userInfo)
				// 将用户信息放置在 ctx,state上，方便其他接口做权限使用
				ctx.state.userInfo = userInfo
				// 让他往下执行
				console.log('测试数据', '登陆娇艳')
				await next()
			} catch (err) {
				console.log(err, 'err')
				// 如果解析不出来，给用户提示错误
				ctx.body = { code: 401, err }
			}
		}
	}
}

// 1. 写中间件
// 2. 注册中间件
